package org.magicbox.qjunTPO.service.impl;

import org.magicbox.qjunTPO.entity.Supuser;
import org.magicbox.qjunTPO.mapper.SupuserMapper;
import org.magicbox.qjunTPO.service.SupuserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author 欢迎添加科技实践队粉丝群：690849711
 * @since 2021-11-12
 */
@Service
public class SupuserServiceImpl extends ServiceImpl<SupuserMapper, Supuser> implements SupuserService {


    /**
     * 查询管理员是否存在是否有权限
     * @param sid   管理员id
     * @param arg   1poem权限 2Desk权限 3Event权限 4User权限 5super权限
     * @return      是否有权限
     */
    @Override
    public boolean exPower(Integer sid,int arg){
        Supuser byId;
        try {
            byId = getById(sid);

        }catch (Exception e){
            return false;
        }
        if(byId == null) return false;
        switch (arg){
            case 1:
                if(byId.getPoemOk().equals(1)) return true;
                else return false;


            case 2:
                if(byId.getDeskOk().equals(1)) return true;
                else return false;


            case 3:
                if(byId.getEventOk().equals(1)) return true;
                else return false;


            case 4:
                if(byId.getUserOk().equals(1)) return true;
                else return false;


            case 5:
                if(byId.getSupuserOk().equals(1)) return true;
                else return false;
        }
        return false;
    }

    /**
     * 验证用户名密码
     * @return      是否正确
     */
    @Override
    public boolean passowrdProving(Supuser supuser) {
        try {
            return getById(supuser.getSuId()).getPassword().equals(supuser.getPassword());
        }catch (Exception e){
            return false;
        }

    }

    /**
     *  验证管理员账号是否可用
     * @param sid   sid
     * @return  true可用  false不可用
     */
    @Override
    public boolean exSuper(Integer sid) {
        if(getById(sid)!=null){
            return true;
        }else return false;
    }


}
